using lucere.entity;
using lucere.index.inversion;

namespace lucere.index.write
{
    /// <summary>
    /// Implement this interface to plug into the TermsHash
    /// processor, which inverts & stores Tokens into a hash
    /// table and provides an API for writing bytes into
    /// multiple streams for each unique Token. 
    /// </summary>
    public interface ITermsHashConsumerPerField
    {
        bool Start(IFieldable[] fields, int count);
        void Finish();
        void SkippingLongTerm();
        void Start(IFieldable field);
        void NewTerm(IRawPostingList p);
        void AddTerm(IRawPostingList p);
        int StreamCount { get; } 
    }
}